ci: run smoke tests across a python x torch version matrix#32
Open
guru-desh wants to merge 4 commits into
Open
ci: run smoke tests across a python x torch version matrix#32guru-desh wants to merge 4 commits into
guru-desh wants to merge 4 commits into
Conversation
Smoke tests previously ran on one implicit torch version (whatever pyproject.toml's unpinned bound resolved to) across all supported python versions. Add torch_2_8/2_9/2_10/2_11 dependency groups (build-matched torchao/torchvision per pytorch/ao issue 2919) and a matrix.torch_group axis on the test-smoke CI job so each of the 4 torch minor versions is smoke tested independently, still covering all 3 python versions per job via the existing nox session. lowest_tested_torch/highest_tested_torch are renamed to torch_2_8/ torch_2_11 for a consistent naming scheme; the linux-tests/macos-tests full-suite jobs and their Makefile targets are unchanged.
setup_env.sh's group discovery used grep -E '^[a-z_-]+ = \[', which excludes digits and made torch_2_8/2_9/2_10/2_11 invisible to validate_groups — breaking test-highest-pytorch/test-lowest-pytorch with 'Unknown dependency group', caught by the fork CI run.
aseemw
approved these changes
Jul 14, 2026
setup_env.sh now reads TORCH_GROUP directly and folds it into every sync it runs, so make env/test/test-fast/docs/etc. all pin torch instead of floating on whatever pyproject.toml's plain bound resolves to. test-highest-pytorch/test-lowest-pytorch/env-highest-torch lock their group via an inline `export TORCH_GROUP=... &&` at the top of the recipe (rather than a hardcoded --with-torch_2_X flag), so their name stays a promise regardless of a command-line override — verified that GNU Make's own `override` directive achieves the same lock but trips up the mbake Makefile formatter's duplicate-target detector, which doesn't recognize that syntax. --with-torch_2_X stays as a guarded alternate path for direct, non-Make invocations of setup_env.sh; a guard now errors clearly if it disagrees with an explicitly-set TORCH_GROUP instead of surfacing a raw uv conflicting-groups resolver error.
…ORCH_GROUP Now that the Makefile exports TORCH_GROUP unconditionally, the smoke-test-specific SMOKE_TEST_TORCH_GROUP env var was redundant indirection. ci/nox/noxfile.py reads TORCH_GROUP directly, and `make test-smoke` no longer needs to translate the Makefile variable into a differently-named env var for the nox subprocess.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Smoke tests previously ran on one implicit torch version (whatever pyproject.toml's unpinned bound resolved to) across all supported python versions. Add
torch_2_8/2_9/2_10/2_11dependency groups (build-matched torchao/torchvision per pytorch/ao issue 2919) and amatrix.torch_groupaxis on the test-smoke CI job so each of the 4 torch minor versions is smoke tested independently, still covering all 3 python versions per job via the existing nox session.Adding these new smoke tests doesn't change the total CI time. Because provisioning is fast and we have more Linux machines, each
test-smokerun takes 6 minutes.make test-tutorialtakes 11 minutes, so stage 1 CI will bemax(test-smoke-torch-2.8, test-smoke-2.9, ..., test-tutorials). Sincetest-tutorialsis 11 minutes, stage 1 CI takes 11 minutes, and adding moretest-smokewouldn't affect total CI time.